package com.ruoyi.qiushi.domain.mall;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 积分商品订单对象 trade_point_order
 *
 * @author ruoyi
 * @date 2023-12-27
 */
public class TradePointOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private String userName;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 用户编号
     */
    @Excel(name = "用户编号")
    private Long userId;

    /**
     * 订单流水号
     */
    @Excel(name = "订单流水号")
    private String no;

    /**
     * 商品id
     */
    @Excel(name = "商品id ")
    private Long spuId;

    /**
     * 商品名称
     */
    @Excel(name = "商品名称 ")
    private String spuName;

    /**
     * 数量
     */
    @Excel(name = "数量")
    private Long count;

    /**
     * 商品图片
     */
    @Excel(name = "商品图片")
    private String image;

    /**
     * 第三方支付流水号(如支付宝)
     */
    @Excel(name = "第三方支付流水号(如支付宝)")
    private String payTradeNo;

    /**
     * 订单支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:MM:ss")
    @Excel(name = "订单支付时间", width = 30, dateFormat = "yyyy-MM-dd hh:MM:ss")
    private Date payTime;

    /**
     * 支付成功的支付渠道
     */
    @Excel(name = "支付成功的支付渠道")
    private String payChannel;

    /**
     * 1待付款 2待发货 3待收货 4已取消 5已完成
     */
    @Excel(name = "1待付款 2待发货 3待收货 4已取消 5已完成 ")
    private String status;

    /**
     * 订单完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:MM:ss")
    @Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd hh:MM:ss")
    private Date finishTime;

    /**
     * 总价
     */
    @Excel(name = "总价")
    private BigDecimal totalPoint;

    /**
     * 实际付款积分
     */
    @Excel(name = "实际付款积分")
    private BigDecimal actualPoint;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:MM:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd hh:MM:ss")
    private Date deliveryTime;

    /**
     * 收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:MM:ss")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd hh:MM:ss")
    private Date receiveTime;

    /**
     * 快递方式
     */
    @Excel(name = "快递方式")
    private String logisticsCode;

    /**
     * 快递单号
     */
    @Excel(name = "快递单号")
    private String logisticsNo;

    /**
     * 收件人名称
     */
    @Excel(name = "收件人名称")
    private String receiverName;

    /**
     * 收件人手机
     */
    @Excel(name = "收件人手机")
    private String receiverMobile;

    /**
     * 收件人详细地址
     */
    @Excel(name = "收件人详细地址")
    private String receiverDetailAddress;

    /**
     * 0正常 1删除
     */
    private String delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getNo() {
        return no;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public Long getCount() {
        return count;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getImage() {
        return image;
    }

    public void setPayTradeNo(String payTradeNo) {
        this.payTradeNo = payTradeNo;
    }

    public String getPayTradeNo() {
        return payTradeNo;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayChannel(String payChannel) {
        this.payChannel = payChannel;
    }

    public String getPayChannel() {
        return payChannel;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setTotalPoint(BigDecimal totalPoint) {
        this.totalPoint = totalPoint;
    }

    public BigDecimal getTotalPoint() {
        return totalPoint;
    }

    public void setActualPoint(BigDecimal actualPoint) {
        this.actualPoint = actualPoint;
    }

    public BigDecimal getActualPoint() {
        return actualPoint;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setReceiveTime(Date receiveTime) {
        this.receiveTime = receiveTime;
    }

    public Date getReceiveTime() {
        return receiveTime;
    }

    public void setLogisticsCode(String logisticsCode) {
        this.logisticsCode = logisticsCode;
    }

    public String getLogisticsCode() {
        return logisticsCode;
    }

    public void setLogisticsNo(String logisticsNo) {
        this.logisticsNo = logisticsNo;
    }

    public String getLogisticsNo() {
        return logisticsNo;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverMobile(String receiverMobile) {
        this.receiverMobile = receiverMobile;
    }

    public String getReceiverMobile() {
        return receiverMobile;
    }

    public void setReceiverDetailAddress(String receiverDetailAddress) {
        this.receiverDetailAddress = receiverDetailAddress;
    }

    public String getReceiverDetailAddress() {
        return receiverDetailAddress;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("no", getNo())
                .append("spuId", getSpuId())
                .append("spuName", getSpuName())
                .append("count", getCount())
                .append("image", getImage())
                .append("payTradeNo", getPayTradeNo())
                .append("payTime", getPayTime())
                .append("payChannel", getPayChannel())
                .append("status", getStatus())
                .append("finishTime", getFinishTime())
                .append("totalPoint", getTotalPoint())
                .append("actualPoint", getActualPoint())
                .append("deliveryTime", getDeliveryTime())
                .append("receiveTime", getReceiveTime())
                .append("logisticsCode", getLogisticsCode())
                .append("logisticsNo", getLogisticsNo())
                .append("receiverName", getReceiverName())
                .append("receiverMobile", getReceiverMobile())
                .append("receiverDetailAddress", getReceiverDetailAddress())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
